home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / xip / iijppp.lzh / Drivers / BSDI-1.1 / if_tun.h < prev   
C/C++ Source or Header  |  1994-02-24  |  2KB  |  68 lines

  1. /*
  2.  * Copyright (c) 1988, Julian Onions <jpo@cs.nott.ac.uk>
  3.  * Nottingham University 1987.
  4.  *
  5.  * This source may be freely distributed, however I would be interested
  6.  * in any changes that are made.
  7.  *
  8.  * This driver takes packets off the IP i/f and hands them up to a
  9.  * user process to have it's wicked way with. This driver has it's
  10.  * roots in a similar driver written by Phil Cockcroft (formerly) at
  11.  * UCL. This driver is based much more on read/write/select mode of
  12.  * operation though.
  13.  * 
  14.  * from: $Header: if_tnreg.h,v 1.1.2.1 1992/07/16 22:39:16 friedl Exp
  15.  * $Id: if_tun.h,v 1.3 1993/12/13 14:27:01 deraadt Exp $
  16.  */
  17.  
  18. #ifndef _NET_IF_TUN_H_
  19. #define _NET_IF_TUN_H_
  20.  
  21. struct tun_softc {
  22.     u_short    tun_flags;        /* misc flags */
  23. #define    TUN_OPEN    0x0001
  24. #define    TUN_INITED    0x0002
  25. #define    TUN_RCOLL    0x0004
  26. #define    TUN_IASET    0x0008
  27. #define    TUN_DSTADDR    0x0010
  28. #ifdef notdef
  29. #define    TUN_READY    0x0020
  30. #else
  31. #define TUN_READY       (TUN_IASET|TUN_OPEN|TUN_DSTADDR)
  32. #endif
  33. #define    TUN_RWAIT    0x0040
  34. #define    TUN_ASYNC    0x0080
  35. #define    TUN_NBIO    0x0100
  36.     struct    ifnet tun_if;        /* the interface */
  37.     int    tun_pgrp;        /* the process group - if any */
  38.     struct    selinfo    tun_rsel;    /* read select */
  39.     struct    selinfo    tun_wsel;    /* write select (not used) */
  40. #if NBPFILTER > 0
  41.     caddr_t        tun_bpf;
  42. #endif
  43. };
  44.  
  45. /* Maximum packet size */
  46. #define    TUNMTU        1500
  47.  
  48. /* ioctl's for get/set debug */
  49. #ifdef __NetBSD__
  50. #define    TUNSDEBUG    _IOW('t', 90, int)
  51. #define    TUNGDEBUG    _IOR('t', 89, int)
  52. #define    TUNSIFINFO    _IOW('t', 91, struct tuninfo)
  53. #define    TUNGIFINFO    _IOR('t', 92, struct tuninfo)
  54. #else    /* Assume BSDI */
  55. #define    TUNSDEBUG    _IOW('T', 90, int)
  56. #define    TUNGDEBUG    _IOR('T', 89, int)
  57. #define    TUNSIFINFO    _IOW('T', 91, struct tuninfo)
  58. #define    TUNGIFINFO    _IOR('T', 92, struct tuninfo)
  59. #endif
  60.  
  61. struct tuninfo {
  62.     int    if_baudrate;        /* linespeed */
  63.     short    if_mtu;            /* maximum transmission unit */
  64.     u_char    if_type;        /* ethernet, tokenring, etc. */
  65.     u_char    if_dummy;        /* place holder */
  66. };
  67. #endif /* !_NET_IF_TUN_H_ */
  68.